Fuzzy System
   HOME

TheInfoList



OR:

A fuzzy control system is a
control system A control system manages, commands, directs, or regulates the behavior of other devices or systems using control loops. It can range from a single home heating controller using a thermostat controlling a domestic boiler to large industrial c ...
based on
fuzzy logic Fuzzy logic is a form of many-valued logic in which the truth value of variables may be any real number between 0 and 1. It is employed to handle the concept of partial truth, where the truth value may range between completely true and completely ...
—a
mathematical Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
system that analyzes
analog Analog or analogue may refer to: Computing and electronics * Analog signal, in which information is encoded in a continuous variable ** Analog device, an apparatus that operates on analog signals *** Analog electronics, circuits which use analog ...
input values in terms of
logic Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the science of deductively valid inferences or of logical truths. It is a formal science investigating how conclusions follow from premises ...
al variables that take on continuous values between 0 and 1, in contrast to classical or
digital Digital usually refers to something using discrete digits, often binary digits. Technology and computing Hardware *Digital electronics, electronic circuits which operate using digital signals **Digital camera, which captures and stores digital i ...
logic, which operates on discrete values of either 1 or 0 (true or false, respectively).


Overview

Fuzzy logic is widely used in machine control. The term "fuzzy" refers to the fact that the logic involved can deal with concepts that cannot be expressed as the "true" or "false" but rather as "partially true". Although alternative approaches such as
genetic algorithm In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to gene ...
s and
neural network A neural network is a network or circuit of biological neurons, or, in a modern sense, an artificial neural network, composed of artificial neurons or nodes. Thus, a neural network is either a biological neural network, made up of biological ...
s can perform just as well as fuzzy logic in many cases, fuzzy logic has the advantage that the solution to the problem can be cast in terms that human operators can understand, so that their experience can be used in the design of the controller. This makes it easier to mechanize tasks that are already successfully performed by humans.


History and applications

Fuzzy logic was proposed by
Lotfi A. Zadeh Lotfi Aliasker Zadeh (; az, Lütfi Rəhim oğlu Ələsgərzadə; fa, لطفی علی‌عسکرزاده; 4 February 1921 – 6 September 2017) was a mathematician, computer scientist, electrical engineer, artificial intelligence researcher, an ...
of the
University of California at Berkeley The University of California, Berkeley (UC Berkeley, Berkeley, Cal, or California) is a public land-grant research university in Berkeley, California. Established in 1868 as the University of California, it is the state's first land-grant univ ...
in a 1965 paper. He elaborated on his ideas in a 1973 paper that introduced the concept of "linguistic variables", which in this article equates to a variable defined as a fuzzy set. Other research followed, with the first industrial application, a cement
kiln A kiln is a thermally insulated chamber, a type of oven, that produces temperatures sufficient to complete some process, such as hardening, drying, or chemical changes. Kilns have been used for millennia to turn objects made from clay int ...
built in Denmark, coming on line in 1975. Fuzzy systems were initially implemented in
Japan Japan ( ja, 日本, or , and formally , ''Nihonkoku'') is an island country in East Asia. It is situated in the northwest Pacific Ocean, and is bordered on the west by the Sea of Japan, while extending from the Sea of Okhotsk in the north ...
. * Interest in fuzzy systems was sparked by Seiji Yasunobu and Soji Miyamoto of
Hitachi () is a Japanese multinational corporation, multinational Conglomerate (company), conglomerate corporation headquartered in Chiyoda, Tokyo, Japan. It is the parent company of the Hitachi Group (''Hitachi Gurūpu'') and had formed part of the Ni ...
, who in 1985 provided simulations that demonstrated the feasibility of fuzzy control systems for the
Sendai Subway The is a rapid transit system in Sendai, Japan. It is operated by the Sendai City Transportation Bureau. The subway consists of two lines, the north-south Namboku Line, which opened in July 1987, and the east-west Tozai Line, which opened in ...
. Their ideas were adopted, and fuzzy systems were used to control accelerating, braking, and stopping when the Namboku Line opened in 1987. * In 1987, Takeshi Yamakawa demonstrated the use of fuzzy control, through a set of simple dedicated fuzzy logic chips, in an "
inverted pendulum An inverted pendulum is a pendulum that has its center of mass above its pivot point. It is unstable and without additional help will fall over. It can be suspended stably in this inverted position by using a control system to monitor the angle ...
" experiment. This is a classic control problem, in which a vehicle tries to keep a pole mounted on its top by a hinge upright by moving back and forth. Yamakawa subsequently made the demonstration more sophisticated by mounting a wine glass containing water and even a live mouse to the top of the pendulum: the system maintained stability in both cases. Yamakawa eventually went on to organize his own fuzzy-systems research lab to help exploit his patents in the field. * Japanese engineers subsequently developed a wide range of fuzzy systems for both industrial and consumer applications. In 1988 Japan established the Laboratory for International Fuzzy Engineering (LIFE), a cooperative arrangement between 48 companies to pursue fuzzy research. The automotive company Volkswagen was the only foreign corporate member of LIFE, dispatching a researcher for a duration of three years. * Japanese consumer goods often incorporate fuzzy systems. Matsushita vacuum cleaners use microcontrollers running fuzzy algorithms to interrogate dust sensors and adjust
suction power Airwatt or air watt is a measurement unit of the effectiveness of vacuum cleaners which refers to airflow and the amount of power (watts) a vacuum cleaner produces and uses. It can also be referred to as a measurement of the energy per unit time of ...
accordingly. Hitachi washing machines use fuzzy controllers to load-weight, fabric-mix, and dirt sensors and automatically set the wash cycle for the best use of power, water, and detergent. * Canon developed an
autofocus An autofocus (or AF) optical system uses a sensor, a control system and a motor to focus on an automatically or manually selected point or area. An electronic rangefinder has a display instead of the motor; the adjustment of the optical system ...
ing camera that uses a
charge-coupled device A charge-coupled device (CCD) is an integrated circuit containing an array of linked, or coupled, capacitors. Under the control of an external circuit, each capacitor can transfer its electric charge to a neighboring capacitor. CCD sensors are a ...
(CCD) to measure the clarity of the image in six regions of its field of view and use the information provided to determine if the image is in focus. It also tracks the rate of change of lens movement during focusing, and controls its speed to prevent overshoot. The camera's fuzzy control system uses 12 inputs: 6 to obtain the current clarity data provided by the CCD and 6 to measure the rate of change of lens movement. The output is the position of the lens. The fuzzy control system uses 13 rules and requires 1.1 kilobytes of memory. *An industrial
air conditioner Air conditioning, often abbreviated as A/C or AC, is the process of removing heat from an enclosed space to achieve a more comfortable interior environment (sometimes referred to as 'comfort cooling') and in some cases also strictly controlling ...
designed by Mitsubishi uses 25 heating rules and 25 cooling rules. A temperature sensor provides input, with control outputs fed to an
inverter A power inverter, inverter or invertor is a power electronic device or circuitry that changes direct current (DC) to alternating current (AC). The resulting AC frequency obtained depends on the particular device employed. Inverters do the opp ...
, a compressor valve, and a fan motor. Compared to the previous design, the fuzzy controller heats and cools five times faster, reduces power consumption by 24%, increases temperature stability by a factor of two, and uses fewer sensors. * Other applications investigated or implemented include: character and
handwriting recognition Handwriting recognition (HWR), also known as handwritten text recognition (HTR), is the ability of a computer to receive and interpret intelligible handwritten input from sources such as paper documents, photographs, touch-screens and other dev ...
; optical fuzzy systems; robots, including one for making Japanese flower arrangements; voice-controlled robot helicopters (hovering is a "balancing act" rather similar to the inverted pendulum problem); rehabilitation robotics to provide patient-specific solutions (e.g. to control heart rate and blood pressure ); control of flow of powders in film manufacture; elevator systems; and so on. Work on fuzzy systems is also proceeding in North America and Europe, although on a less extensive scale than in Japan. * The
US Environmental Protection Agency The Environmental Protection Agency (EPA) is an independent executive agency of the United States federal government tasked with environmental protection matters. President Richard Nixon proposed the establishment of EPA on July 9, 1970; it be ...
has investigated fuzzy control for energy-efficient motors, and
NASA The National Aeronautics and Space Administration (NASA ) is an independent agency of the US federal government responsible for the civil space program, aeronautics research, and space research. NASA was established in 1958, succeeding t ...
has studied fuzzy control for automated space docking: simulations show that a fuzzy control system can greatly reduce fuel consumption. * Firms such as
Boeing The Boeing Company () is an American multinational corporation that designs, manufactures, and sells airplanes, rotorcraft, rockets, satellites, telecommunications equipment, and missiles worldwide. The company also provides leasing and product ...
,
General Motors The General Motors Company (GM) is an American Multinational corporation, multinational Automotive industry, automotive manufacturing company headquartered in Detroit, Michigan, United States. It is the largest automaker in the United States and ...
,
Allen-Bradley Allen-Bradley is the brand-name of a line of factory automation equipment, today owned by Rockwell Automation. The company, with revenues of approximately US $6.4 billion in 2013, manufactures programmable logic controllers ( PLC), human-mach ...
,
Chrysler Stellantis North America (officially FCA US and formerly Chrysler ()) is one of the " Big Three" automobile manufacturers in the United States, headquartered in Auburn Hills, Michigan. It is the American subsidiary of the multinational automoti ...
, Eaton, and
Whirlpool A whirlpool is a body of rotating water produced by opposing currents or a current running into an obstacle. Small whirlpools form when a bath or a sink is draining. More powerful ones formed in seas or oceans may be called maelstroms ( ). ''Vo ...
have worked on fuzzy logic for use in low-power refrigerators, improved automotive transmissions, and energy-efficient electric motors. * In 1995
Maytag The Maytag Corporation is an American home and commercial appliance company owned by Whirlpool Corporation since April 2006. Company history The Maytag Washing Machine Company was founded in 1893 by businessman Frederick Maytag. In 1925, ...
introduced an "intelligent"
dishwasher A dishwasher is a machine that is used to clean dishware, cookware, and cutlery automatically. Unlike manual dishwashing, which relies heavily on physical scrubbing to remove soiling, the mechanical dishwasher cleans by spraying hot water, ...
based on a fuzzy controller and a "one-stop sensing module" that combines a
thermistor A thermistor is a type of resistor whose resistance is strongly dependent on temperature, more so than in standard resistors. The word thermistor is a portmanteau of ''thermal'' and ''resistor''. Thermistors are divided based on their conduction ...
, for temperature measurement; a conductivity sensor, to measure detergent level from the ions present in the wash; a turbidity sensor that measures scattered and transmitted light to measure the soiling of the wash; and a magnetostrictive sensor to read spin rate. The system determines the optimum wash cycle for any load to obtain the best results with the least amount of energy, detergent, and water. It even adjusts for dried-on foods by tracking the last time the door was opened, and estimates the number of dishes by the number of times the door was opened. * In 2017 Xiera Technologies Inc. developed the first auto-tuner for the fuzzy logic controller's knowledge base known as edeX. This technology was tested by Mohawk College and was able to solve non-linear 2x2 and 3x3 multi-input multi-output problems. Research and development is also continuing on fuzzy applications in software, as opposed to
firmware In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
, design, including fuzzy
expert system In artificial intelligence, an expert system is a computer system emulating the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if ...
s and integration of fuzzy logic with neural-network and so-called adaptive " genetic" software systems, with the ultimate goal of building "self-learning" fuzzy-control systems. These systems can be employed to control complex, nonlinear dynamic plants, for example, human body.


Fuzzy sets

The input variables in a fuzzy control system are in general mapped by sets of membership functions similar to this, known as "fuzzy sets". The process of converting a crisp input value to a fuzzy value is called "fuzzification". The fuzzy logic based approach had been considered by designing two fuzzy systems, one for error heading angle and the other for velocity control. A control system may also have various types of
switch In electrical engineering, a switch is an electrical component that can disconnect or connect the conducting path in an electrical circuit, interrupting the electric current or diverting it from one conductor to another. The most common type of ...
, or "ON-OFF", inputs along with its analog inputs, and such switch inputs of course will always have a truth value equal to either 1 or 0, but the scheme can deal with them as simplified fuzzy functions that happen to be either one value or another. Given " mappings" of input variables into membership functions and
truth value In logic and mathematics, a truth value, sometimes called a logical value, is a value indicating the relation of a proposition to truth, which in classical logic has only two possible values (''true'' or '' false''). Computing In some progr ...
s, the
microcontroller A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable i ...
then makes decisions for what action to take, based on a set of "rules", each of the form: IF brake temperature IS warm AND speed IS not very fast THEN brake pressure IS slightly decreased. In this example, the two input variables are "brake temperature" and "speed" that have values defined as fuzzy sets. The output variable, "brake pressure" is also defined by a fuzzy set that can have values like "static" or "slightly increased" or "slightly decreased" etc.


Fuzzy control in detail

Fuzzy controllers are very simple conceptually. They consist of an input stage, a processing stage, and an output stage. The input stage maps sensor or other inputs, such as switches, thumbwheels, and so on, to the appropriate membership functions and truth values. The processing stage invokes each appropriate rule and generates a result for each, then combines the results of the rules. Finally, the output stage converts the combined result back into a specific control output value. The most common shape of membership functions is triangular, although trapezoidal and bell curves are also used, but the shape is generally less important than the number of curves and their placement. From three to seven curves are generally appropriate to cover the required range of an input value, or the "
universe of discourse In the formal sciences, the domain of discourse, also called the universe of discourse, universal set, or simply universe, is the set of entities over which certain variables of interest in some formal treatment may range. Overview The domain ...
" in fuzzy jargon. As discussed earlier, the processing stage is based on a collection of logic rules in the form of IF-THEN statements, where the IF part is called the "antecedent" and the THEN part is called the "consequent". Typical fuzzy control systems have dozens of rules. Consider a rule for a thermostat: IF (temperature is "cold") THEN turn (heater is "high") This rule uses the truth value of the "temperature" input, which is some truth value of "cold", to generate a result in the fuzzy set for the "heater" output, which is some value of "high". This result is used with the results of other rules to finally generate the crisp composite output. Obviously, the greater the truth value of "cold", the higher the truth value of "high", though this does not necessarily mean that the output itself will be set to "high" since this is only one rule among many. In some cases, the membership functions can be modified by "hedges" that are equivalent to adverbs. Common hedges include "about", "near", "close to", "approximately", "very", "slightly", "too", "extremely", and "somewhat". These operations may have precise definitions, though the definitions can vary considerably between different implementations. "Very", for one example, squares membership functions; since the membership values are always less than 1, this narrows the membership function. "Extremely" cubes the values to give greater narrowing, while "somewhat" broadens the function by taking the square root. In practice, the fuzzy rule sets usually have several antecedents that are combined using fuzzy operators, such as AND, OR, and NOT, though again the definitions tend to vary: AND, in one popular definition, simply uses the minimum weight of all the antecedents, while OR uses the maximum value. There is also a NOT operator that subtracts a membership function from 1 to give the "complementary" function. There are several ways to define the result of a rule, but one of the most common and simplest is the "max-min"
inference Inferences are steps in reasoning, moving from premises to logical consequences; etymologically, the word '' infer'' means to "carry forward". Inference is theoretically traditionally divided into deduction and induction, a distinction that in ...
method, in which the output membership function is given the truth value generated by the premise. Rules can be solved in parallel in hardware, or sequentially in software. The results of all the rules that have fired are "defuzzified" to a crisp value by one of several methods. There are dozens, in theory, each with various advantages or drawbacks. The "centroid" method is very popular, in which the "center of mass" of the result provides the crisp value. Another approach is the "height" method, which takes the value of the biggest contributor. The centroid method favors the rule with the output of greatest area, while the height method obviously favors the rule with the greatest output value. The diagram below demonstrates max-min inferencing and centroid defuzzification for a system with input variables "x", "y", and "z" and an output variable "n". Note that "mu" is standard fuzzy-logic nomenclature for "truth value": Notice how each rule provides a result as a truth value of a particular membership function for the output variable. In centroid defuzzification the values are OR'd, that is, the maximum value is used and values are not added, and the results are then combined using a centroid calculation. Fuzzy control system design is based on empirical methods, basically a methodical approach to
trial-and-error Trial and error is a fundamental method of problem-solving characterized by repeated, varied attempts which are continued until success, or until the practicer stops trying. According to W.H. Thorpe, the term was devised by C. Lloyd Morgan (1 ...
. The general process is as follows: * Document the system's operational specifications and inputs and outputs. * Document the fuzzy sets for the inputs. * Document the rule set. * Determine the defuzzification method. * Run through test suite to validate system, adjust details as required. * Complete document and release to production. As a general example, consider the design of a fuzzy controller for a steam turbine. The block diagram of this control system appears as follows: The input and output variables map into the following fuzzy set: —where: N3: Large negative. N2: Medium negative. N1: Small negative. Z: Zero. P1: Small positive. P2: Medium positive. P3: Large positive. The rule set includes such rules as: rule 1: IF temperature IS cool AND pressure IS weak, THEN throttle is P3. rule 2: IF temperature IS cool AND pressure IS low, THEN throttle is P2. rule 3: IF temperature IS cool AND pressure IS ok, THEN throttle is Z. rule 4: IF temperature IS cool AND pressure IS strong, THEN throttle is N2. In practice, the controller accepts the inputs and maps them into their membership functions and truth values. These mappings are then fed into the rules. If the rule specifies an AND relationship between the mappings of the two input variables, as the examples above do, the minimum of the two is used as the combined truth value; if an OR is specified, the maximum is used. The appropriate output state is selected and assigned a membership value at the truth level of the premise. The truth values are then defuzzified. For example, assume the temperature is in the "cool" state, and the pressure is in the "low" and "ok" states. The pressure values ensure that only rules 2 and 3 fire: The two outputs are then defuzzified through centroid defuzzification:
   __________________________________________________________________

                                       ,           Z      P2
                                    1 -+          *       *
                                       ,          * *     * *
                                       ,         *   *   *   *
                                       ,        *     * *     *
                                       ,       *       222222222
                                       ,      *       22222222222
                                       ,     333333332222222222222
                                       +---33333333222222222222222-->
                                                        ^ 
                                                      +150 
   __________________________________________________________________
The output value will adjust the throttle and then the control cycle will begin again to generate the next value.


Building a fuzzy controller

Consider implementing with a microcontroller chip a simple feedback controller: A fuzzy set is defined for the input error variable "e", and the derived change in error, "delta", as well as the "output", as follows: LP: large positive SP: small positive ZE: zero SN: small negative LN: large negative If the error ranges from -1 to +1, with the analog-to-digital converter used having a resolution of 0.25, then the input variable's fuzzy set (which, in this case, also applies to the output variable) can be described very simply as a table, with the error / delta / output values in the top row and the truth values for each membership function arranged in rows beneath: _______________________________________________________________________ -1 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 1 _______________________________________________________________________ mu(LP) 0 0 0 0 0 0 0.3 0.7 1 mu(SP) 0 0 0 0 0.3 0.7 1 0.7 0.3 mu(ZE) 0 0 0.3 0.7 1 0.7 0.3 0 0 mu(SN) 0.3 0.7 1 0.7 0.3 0 0 0 0 mu(LN) 1 0.7 0.3 0 0 0 0 0 0 _______________________________________________________________________ —or, in graphical form (where each "X" has a value of 0.1): LN SN ZE SP LP +------------------------------------------------------------------+ , , -1.0 , XXXXXXXXXX XXX : : : , -0.75 , XXXXXXX XXXXXXX : : : , -0.5 , XXX XXXXXXXXXX XXX : : , -0.25 , : XXXXXXX XXXXXXX : : , 0.0 , : XXX XXXXXXXXXX XXX : , 0.25 , : : XXXXXXX XXXXXXX : , 0.5 , : : XXX XXXXXXXXXX XXX , 0.75 , : : : XXXXXXX XXXXXXX , 1.0 , : : : XXX XXXXXXXXXX , , , +------------------------------------------------------------------+ Suppose this fuzzy system has the following rule base: rule 1: IF e = ZE AND delta = ZE THEN output = ZE rule 2: IF e = ZE AND delta = SP THEN output = SN rule 3: IF e = SN AND delta = SN THEN output = LP rule 4: IF e = LP OR delta = LP THEN output = LN These rules are typical for control applications in that the antecedents consist of the logical combination of the error and error-delta signals, while the consequent is a control command output. The rule outputs can be defuzzified using a discrete centroid computation: SUM( I = 1 TO 4 OF ( mu(I) * output(I) ) ) / SUM( I = 1 TO 4 OF mu(I) ) Now, suppose that at a given time: e = 0.25 delta = 0.5 Then this gives: ________________________ e delta ________________________ mu(LP) 0 0.3 mu(SP) 0.7 1 mu(ZE) 0.7 0.3 mu(SN) 0 0 mu(LN) 0 0 ________________________ Plugging this into rule 1 gives: rule 1: IF e = ZE AND delta = ZE THEN output = ZE mu(1) = MIN( 0.7, 0.3 ) = 0.3 output(1) = 0 -- where: * mu(1): Truth value of the result membership function for rule 1. In terms of a centroid calculation, this is the "mass" of this result for this discrete case. * output(1): Value (for rule 1) where the result membership function (ZE) is maximum over the output variable fuzzy set range. That is, in terms of a centroid calculation, the location of the "center of mass" for this individual result. This value is independent of the value of "mu". It simply identifies the location of ZE along the output range. The other rules give: rule 2: IF e = ZE AND delta = SP THEN output = SN mu(2) = MIN( 0.7, 1 ) = 0.7 output(2) = -0.5 rule 3: IF e = SN AND delta = SN THEN output = LP mu(3) = MIN( 0.0, 0.0 ) = 0 output(3) = 1 rule 4: IF e = LP OR delta = LP THEN output = LN mu(4) = MAX( 0.0, 0.3 ) = 0.3 output(4) = -1 The centroid computation yields: \frac =\frac =-0.5—for the final control output. Simple. Of course the hard part is figuring out what rules actually work correctly in practice. If you have problems figuring out the centroid equation, remember that a centroid is defined by summing all the moments (location times mass) around the center of gravity and equating the sum to zero. So if X_0 is the center of gravity, X_i is the location of each mass, and M_i is each mass, this gives: 0 = ( X_1 - X_0 ) \cdot M_1 + ( X_2 - X_0 ) \cdot M_2 + \ldots + ( X_n - X_0 ) \cdot M_n 0 = ( X_1 \cdot M_1 + X_2 \cdot M_2 + \ldots + X_n \cdot M_n ) - X_0 \cdot ( M_1 + M_2 + \ldots + M_n ) X_0 \cdot ( M_1 + M_2 + \ldots + M_n ) = X_1 \cdot M_1 + X_2 \cdot M_2 + \ldots + X_n \cdot M_n X_0 = \frac In our example, the values of mu correspond to the masses, and the values of X to location of the masses (mu, however, only 'corresponds to the masses' if the initial 'mass' of the output functions are all the same/equivalent. If they are not the same, i.e. some are narrow triangles, while others maybe wide trapezoids or shouldered triangles, then the mass or area of the output function must be known or calculated. It is this mass that is then scaled by mu and multiplied by its location X_i). This system can be implemented on a standard microprocessor, but dedicated fuzzy chips are now available. For example, Adaptive Logic INC of San Jose, California, sells a "fuzzy chip", the AL220, that can accept four analog inputs and generate four analog outputs. A block diagram of the chip is shown below:
              +---------+                              +-------+
 analog --4-->,  analog  ,                               ,  mux / +--4--> analog
   in         ,    mux   ,                               ,   SH   ,         out
              +----+----+                              +-------+
                   ,                                        ^
                   V                                       , 
            +-------------+                             +--+--+
            ,  ADC / latch ,                              ,  DAC , 
            +------+------+                             +-----+
                   ,                                        ^
                   ,                                        , 
                   8         +-----------------------------+
                   ,          ,                              , 
                   ,          V                             , 
                   ,    +-----------+      +-------------+  , 
                   +-->,  fuzzifier ,       ,  defuzzifier +--+
                       +-----+-----+      +-------------+
                             ,                    ^
                             ,   +-------------+  , 
                             ,   ,     rule     ,   , 
                             +->,   processor  +--+
                                ,  (50 rules)  , 
                                +------+------+
                                       , 
                                +------+------+
                                ,   parameter  , 
                                ,     memory   , 
                                ,    256 x 8   , 
                                +-------------+

    ADC:  analog-to-digital converter
    DAC:  digital-to-analog converter
    SH:   sample/hold


Antilock brakes

As an example, consider an
anti-lock braking system An anti-lock braking system (ABS) is a safety anti-skid braking system used on aircraft and on land vehicles, such as cars, motorcycles, trucks, and buses. ABS operates by preventing the wheels from locking up during braking, thereby maintaini ...
, directed by a microcontroller chip. The microcontroller has to make decisions based on brake
temperature Temperature is a physical quantity that expresses quantitatively the perceptions of hotness and coldness. Temperature is measured with a thermometer. Thermometers are calibrated in various temperature scales that historically have relied o ...
,
speed In everyday use and in kinematics, the speed (commonly referred to as ''v'') of an object is the magnitude of the change of its position over time or the magnitude of the change of its position per unit of time; it is thus a scalar quanti ...
, and other variables in the system. The variable "temperature" in this system can be subdivided into a range of "states": "cold", "cool", "moderate", "warm", "hot", "very hot". The transition from one state to the next is hard to define. An arbitrary static threshold might be set to divide "warm" from "hot". For example, at exactly 90 degrees, warm ends and hot begins. But this would result in a discontinuous change when the input value passed over that threshold. The transition wouldn't be smooth, as would be required in braking situations. The way around this is to make the states ''fuzzy''. That is, allow them to change gradually from one state to the next. In order to do this, there must be a dynamic relationship established between different factors. Start by defining the input temperature states using "membership functions": With this scheme, the input variable's state no longer jumps abruptly from one state to the next. Instead, as the temperature changes, it loses value in one membership function while gaining value in the next. In other words, its ranking in the category of cold decreases as it becomes more highly ranked in the warmer category. At any sampled timeframe, the "truth value" of the brake temperature will almost always be in some degree part of two membership functions: i.e.: '0.6 nominal and 0.4 warm', or '0.7 nominal and 0.3 cool', and so on. The above example demonstrates a simple application, using the
abstraction Abstraction in its main sense is a conceptual process wherein general rules and concepts are derived from the usage and classification of specific examples, literal ("real" or "concrete") signifiers, first principles, or other methods. "An abstr ...
of values from multiple values. This only represents one kind of data, however, in this case, temperature. Adding additional sophistication to this braking system, could be done by additional factors such as traction, speed,
inertia Inertia is the idea that an object will continue its current motion until some force causes its speed or direction to change. The term is properly understood as shorthand for "the principle of inertia" as described by Newton in his first law ...
, set up in dynamic functions, according to the designed fuzzy system.


Logical interpretation of fuzzy control

In spite of the appearance there are several difficulties to give a rigorous logical interpretation of the ''IF-THEN'' rules. As an example, interpret a rule as ''IF (temperature is "cold") THEN (heater is "high")'' by the first order formula ''Cold(x)→High(y)'' and assume that r is an input such that ''Cold(r)'' is false. Then the formula ''Cold(r)→High(t)'' is true for any ''t'' and therefore any ''t'' gives a correct control given ''r''. A rigorous logical justification of fuzzy control is given in Hájek's book (see Chapter 7) where fuzzy control is represented as a theory of Hájek's basic logic. In Gerla 2005 another logical approach to fuzzy control is proposed based on fuzzy logic programming: Denote by ''f'' the fuzzy function arising of an IF-THEN systems of rules. Then this system can be translated into a fuzzy program P containing a series of rules whose head is "Good(x,y)". The interpretation of this predicate in the least fuzzy
Herbrand model In first-order logic, a Herbrand structure ''S'' is a structure over a vocabulary σ that is defined solely by the syntactical properties of σ. The idea is to take the symbols of terms as their values, e.g. the denotation of a constant symbol ' ...
of P coincides with f. This gives further useful tools to fuzzy control.


Fuzzy qualitative simulation

Before an Artificial Intelligence system is able to plan the action sequence, some kind of
model A model is an informative representation of an object, person or system. The term originally denoted the Plan_(drawing), plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin ''modulus'', a mea ...
is needed. For video games, the model is equal to the game rules. From the programming perspective, the game rules are implemented as a
Physics engine A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics, of use in the domains of computer gr ...
which accepts an action from a player and calculates, if the action is valid. After the action was executed, the game is in follow up state. If the aim isn't only to play
mathematical game A mathematical game is a game whose rules, strategies, and outcomes are defined by clear mathematical parameters. Often, such games have simple rules and match procedures, such as Tic-tac-toe and Dots and Boxes. Generally, mathematical games ne ...
s but determine the actions for real world applications, the most obvious bottleneck is, that no game rules are available. The first step is to model the domain. System identification can be realized with precise mathematical equations or with
Fuzzy rule Fuzzy rules are used within fuzzy logic systems to infer an output based on input variables. Modus ponens and modus tollens are the most important rules of inference. A modus ponens rule is in the form :Premise: ''x is A'' :Implication: ''IF x is ...
s. Using Fuzzy logic and ANFIS systems (Adaptive network based fuzzy inference system) for creating the forward model for a domain has many disadvantages. A
qualitative simulation Qualitative descriptions or distinctions are based on some quality or characteristic rather than on some quantity or measured value. Qualitative may also refer to: *Qualitative property, a property that can be observed but not measured numericall ...
isn't able to determine the correct follow up state, but the system will only guess what will happen if the action was taken. The Fuzzy qualitative simulation can't predict the exact numerical values, but it's using imprecise
natural language In neuropsychology, linguistics, and philosophy of language, a natural language or ordinary language is any language that has evolved naturally in humans through use and repetition without conscious planning or premeditation. Natural languages ...
to speculate about the future. It takes the current situation plus the actions from the past and generates the expected follow up state of the game. The output of the ANFIS system isn't providing correct information, but only a
Fuzzy set In mathematics, fuzzy sets (a.k.a. uncertain sets) are sets whose elements have degrees of membership. Fuzzy sets were introduced independently by Lotfi A. Zadeh in 1965 as an extension of the classical notion of set. At the same time, defined a ...
notation, for example ,0.2,0.4,0 After converting the set notation back into numerical values the accuracy get worse. This makes Fuzzy qualitative simulation a bad choice for practical applications.


Applications

Fuzzy control systems are suitable when the process complexity is high including uncertainty and nonlinear behavior, and there are no precise mathematical models available. Successful applications of fuzzy control systems have been reported worldwide mainly in Japan with pioneering solutions since 80s. Some applications reported in the literature are: * Air conditioners * Automatic focus systems in cameras * Domestic appliances (refrigerators, washing machines...) * Control and optimization of industrial processes and system * Writing systems * Fuel efficiency in engines * Environment * Expert systems * Decision trees * Robotics * Autonomous vehicles


See also

* Dynamic logic *
Bayesian inference Bayesian inference is a method of statistical inference in which Bayes' theorem is used to update the probability for a hypothesis as more evidence or information becomes available. Bayesian inference is an important technique in statistics, a ...
*
Function approximation In general, a function approximation problem asks us to select a function among a that closely matches ("approximates") a in a task-specific way. The need for function approximations arises in many branches of applied mathematics, and compute ...
*
Fuzzy concept A fuzzy concept is a kind of concept of which the boundaries of application can vary considerably according to context or conditions, instead of being fixed once and for all. This means the concept is vague in some way, lacking a fixed, precise mea ...
*
Fuzzy markup language Fuzzy Markup Language (FML) is a specific purpose markup language based on XML, used for describing the structure and behavior of a fuzzy system independently of the hardware architecture devoted to host and run it. Overview FML was designed and ...
*
Hysteresis Hysteresis is the dependence of the state of a system on its history. For example, a magnet may have more than one possible magnetic moment in a given magnetic field, depending on how the field changed in the past. Plots of a single component of ...
*
Neural networks A neural network is a network or circuit of biological neurons, or, in a modern sense, an artificial neural network, composed of artificial neurons or nodes. Thus, a neural network is either a biological neural network, made up of biological ...
*
Neuro-fuzzy In the field of artificial intelligence, neuro-fuzzy refers to combinations of artificial neural networks and fuzzy logic. Overview Neuro-fuzzy hybridization results in a hybrid intelligent system that these two techniques by combining the human ...
* Fuzzy control language * Type-2 fuzzy sets and systems


References


Further reading

* Kevin M. Passino and Stephen Yurkovich, Fuzzy Control, Addison Wesley Longman, Menlo Park, CA, 199
(522 pages)
* * Cox, E. (Oct. 1992). ''Fuzzy fundamentals''. IEEE Spectrum, 29:10. pp. 58–61. * Cox, E. (Feb. 1993) ''Adaptive fuzzy systems''. IEEE Spectrum, 30:2. pp. 7–31. * Jan Jantzen, "Tuning Of Fuzzy PID Controllers", Technical University of Denmark, report 98-H 871, September 30, 1998

* Jan Jantzen, ''Foundations of Fuzzy Control''. Wiley, 2007 (209 pages
(Table of contents)
* ''Computational Intelligence: A Methodological Introduction'' by Kruse, Borgelt, Klawonn, Moewes, Steinbrecher, Held, 2013, Springer,


External links


Introduction to Fuzzy Control

Fuzzy Logic in Embedded Microcomputers and Control Systems

IEC 1131-7 CD1
IEC 1131-7 CD1 PDF
Online interactive demonstration of a system with 3 fuzzy rules

Data driven fuzzy systems
{{Authority control Fuzzy logic Control engineering